home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-07-15 | 1.3 KB | 62 lines | [TEXT/MPS ] |
- #include <Resources.h>
- #include <Memory.h>
- #include <Video.h>
- #include <Quickdraw.h>
- #include <Files.h>
- #include <Devices.h>
-
- #define TRUE 0xFF
- #define FALSE 0
-
- struct myVDEntryRecord {
- CSpecArray *csTable;
- short csStart;
- short csCount;
- };
- typedef struct myVDEntryRecord myVDEntryRecord;
-
- main()
- {
- ColorSpec myTable[0xFF];
- short i;
- OSErr result;
- myVDEntryRecord *VDPtr, **sickHack;
- GDHandle curdev, olddev;
- CntrlParam pRecord;
-
- VDPtr = (myVDEntryRecord *) NewPtr (sizeof (myVDEntryRecord));
- if (VDPtr == nil || MemError() != noErr)
- Debugger();
-
- olddev = GetGDevice();
-
- curdev = GetDeviceList();
- do {
- if ((**curdev).gdType == 2) {
- for (i=0;i<=0xFE;i++) {
- myTable[i].value = i;
- myTable[i].rgb.red = 0xffff - i*0xff;
- myTable[i].rgb.green = 0x0 + i*0xff;
- myTable[i].rgb.blue = 0x0 + i*0xff;
- }
-
- VDPtr->csTable = (CSpecArray *)&myTable;
- VDPtr->csStart = 0;
- VDPtr->csCount = 0xfe;
-
- pRecord.ioCompletion = nil;
- pRecord.ioVRefNum = 0;
- pRecord.ioCRefNum = (**curdev).gdRefNum;
- pRecord.csCode = 8;
- sickHack = (myVDEntryRecord **)&pRecord.csParam;
- *sickHack = VDPtr;
-
- if (result = PBControl((ParmBlkPtr)&pRecord, false) )
- Debugger();
- }
-
- curdev = GetNextDevice(curdev);
- } while (curdev != nil);
-
- SetGDevice(olddev);
- }